.neo-grid-body-wrapper {
    height         : 100%;
    overflow-anchor: none;
    overflow-x     : hidden;
    overflow-y     : auto;
    position       : relative;
    scrollbar-width: none;

    &:focus {
        outline: none;
    }
}

.neo-grid-body {
    height    : 100%;
    overflow-x: visible;

    .neo-grid-cell {
        &.neo-is-modified {
            &:after {
                border-color: transparent var(--grid-cell-ismodified-color) transparent transparent;
                border-style: solid;
                border-width: 0 var(--grid-cell-ismodified-size) var(--grid-cell-ismodified-size) 0;
                content     : '';
                height      : 0;
                position    : absolute;
                right       : 0;
                top         : 0;
                width       : 0;
            }
        }
    }

    &.neo-is-scrolling * {
        pointer-events: none !important;
    }

    .neo-center {
        justify-content: center;
    }

    .neo-right {
        justify-content: right;
    }

    .neo-grid-row {
        position: absolute;
        width   : 100%;

        &:last-child {
            .neo-grid-cell {
                border-bottom-width: 0 !important;
            }
        }

        &.neo-even {
            .neo-grid-cell {
                background-color: var(--grid-container-cell-background-color-even);
            }
        }

         // selection.RowModel
         &.neo-selected {
             .neo-grid-cell {
                 background-color: var(--grid-rowmodel-selected-cell-background-color);
                 color           : var(--grid-rowmodel-selected-cell-color);
             }
         }

         .neo-grid-cell {
             align-items     : center;
             background-color: var(--grid-container-cell-background-color);
             border-bottom   : 1px solid var(--grid-container-border-color);
             border-right    : 1px solid var(--grid-container-border-color);
             display         : flex;
             height          : inherit;
             padding         : 2px 10px 2px;
             position        : absolute;
             width           : fit-content;

             &:last-child {
                 border-right-width : 0;
             }

             // selection.CellModel
             &.neo-selected {
                 background-color: var(--grid-cellmodel-selected-cell-background-color) !important;
                 color           : var(--grid-cellmodel-selected-cell-color) !important;
             }

             &.selected-column-cell {
                 background-color: var(--grid-cellmodel-selected-column-cell-background-color);
                 color           : var(--grid-cellmodel-selected-column-cell-color);
             }
         }
     }
}

.neo-mouse {
    .neo-grid-row {
        &:not(.neo-selected) {
            &:hover {
                .neo-grid-cell {
                    background-color: var(--grid-cell-background-color-hover);
                }
            }
        }
    }
}

.neo-selection-cellrowmodel,
.neo-selection-cellcolumnrowmodel{
    .neo-grid-row {
        &.neo-selected {
            .neo-grid-cell {
                background-color: var(--grid-cellrowmodel-selected-row-cell-background-color);
                color           : var(--grid-cellrowmodel-selected-row-cell-color);
            }
        }

        .neo-grid-cell {
            &.neo-selected {
                background-color: var(--grid-cellrowmodel-selected-cell-background-color);
                color           : var(--grid-cellrowmodel-selected-cell-color);
            }
        }
    }
}
